package com.culturalyard.service;

import com.culturalyard.pojo.dto.CameraPageQueryDTO;
import com.culturalyard.pojo.entity.Camera;
import com.culturalyard.pojo.vo.CameraPageVO;
import com.culturalyard.pojo.vo.CameraVO;

import java.util.List;

public interface CameraService {
    /**
     * 根据id获取监控信息,并装填其所属小院名字
     * @param id
     */
    public CameraVO getByIdWithYardName(String id);

    /**
     * 分页查询监控
     * @param cameraPageQueryDTO
     * @return
     */
    public CameraPageVO pageQuery(CameraPageQueryDTO cameraPageQueryDTO);

    /**
     * 根据id设置监控的置顶状态
     * @param id
     * @param topStatus
     */
    void updateTopStatusById(String id, Integer topStatus);

    /**
     * 根据id设置监控是否在常时监控区
     * @param id
     * @param managementAreaStatus
     */
    void updateManagementAreaStatusById(String id, Integer managementAreaStatus);

    /**
     * 根据设备id，重新获取该设备的token
     * @param id
     * @return
     */
    String updateTokenById(String id);

    /**
     * 查看所有在常时监控区的摄像头（置顶的优先）
     * @return
     */
    List<CameraVO> listManagementArea();

    /**
     * 分页查看所有在常时监控区的摄像头
     * @param page
     * @param size
     * @return
     */
    CameraPageVO pageManagementArea(Integer page, Integer size);

    /**
     * 根据id将已经在常时监控区的摄像头置顶到常时监控区
     * @param id
     * @return
     */
    void updateManagementAreaTopStatusById(String id);
}
